A database is a collection of stored data that is logically related and that is accessible by one or more users. A popular type of database system is the relational database management, which includes relational tables made up of rows (or tuples) and columns (or attributes). Each row represents an occurrence of an entity defined by the table, with an entity being a person, place, or thing about which the table contains information. Each column represents an attribute of the entity.
A traditional relational database management system (RDBMS) provides for relatively simple data types, such as integers, real numbers, character strings, and so forth. Object relational database systems provide for more complex data types, such as data types used to represent maps, audio data, video data, image data, multimedia data, and so forth.
In many conventional relational database management systems, security of data stored in the database system is usually implemented with a combination of techniques. For example, security is provided in some systems by restricting access to an entire database, restricting access to specific tables, or restricting access to specific “views.” A “view” is a predefined subset of one or more tables. A view can be considered a window that accesses selected portions of the database. A view can be used to hide certain rows or columns of a table from a user.
Restricting access rights at the database level, table level, or view level is rather coarse, and typically does not provide for the ability to provide finer access control of portions of a database.